package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * JDBC java Database Connectivity
 * JDBC是java官方提供的一套接口，以标准的操作与任何数据库交互。
 * 不同的数据库提供商都会实现一套对应的实现类，我们称这套实现类称为"驱动"
 * 因此我们
 */
public class JDBCDemo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");//这个是MySQL的驱动
        //2与数据库建立连接
        Connection connection = DriverManager.getConnection(
//          格式: jdbc:mysql://主机地址信息/数据库名？一堆参数
                "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",//数据库的地址()
                "root",//登录数据库的用户名
                "root"//数据库的密码
                );
        System.out.println("与数据库建立连接！！");
        //3创建语句执行对象
        Statement statement = connection.createStatement();
        //4执行创建表操作
        /*
         *
         */
        String sql = "CREATE TABLE userinfo(\n" +
                "    id INT PRIMARY KEY AUTO_INCREMENT,\n" +
                "    username VARCHAR(32),\n" +
                "    password VARCHAR(32),\n" +
                "    nickname VARCHAR(32),\n" +
                "    age INT(3)\n" +
                ")";
        /*
         * boolean execute(String sql)
         * 用于指定给定的SQL语句，返回值表示执行完毕后是否产生了查询结果集
         * 如果SQL书写有误，或则执行导致数据库出错，这里都会抛出异常
         */
        statement.execute(sql);
        System.out.println("创建表成功！！");

        statement.close();
    }
}
